//app对象有component方法，可以用这个方法注册我项目中的所有全局组件
//引入
import SvgIcon from './SvgIcon/index.vue'
import Pagination from './Pagination/index.vue'
//我想使用icon图标，我把所以的icon全局组件注册了就直接能使用
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

//创建一个全局组件对象，我如果有100个组件，我就要注册100次吗，
// es6 Object.keys可以得到对象所有的100个key，数组里有100个就执行100次
const allGloablComponent = { SvgIcon, Pagination }
// console.log(Object.keys(allGloablComponent));
Object.keys(allGloablComponent).forEach((item) => {
  // console.log(item);
})

//对外暴漏插件对象，main会调用
export default {
  install(app) {
    //注册项目全部的全局组件
    Object.keys(allGloablComponent).forEach((item) => {
      //注册为全局组件
      app.component(item, allGloablComponent[item])
    })
    // console.log(Object.entries(ElementPlusIconsVue));
    //将elemt-plus提供的icon图标注册为全局组件
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}
